Non-volatile storage devices have enabled increased portability of data and software applications. During operation of a storage device, data may be programmed to the storage device, read from the storage device, and erased from the storage device. As a storage device is used, the storage device may be subject to physical wear that increases data errors at the storage device. For example, multiple program/erase cycles (PECs) may cause physical wear to storage elements of a storage device, resulting in more errors during reading of data from the storage elements of the storage device. In some cases, physical wear can cause a number of errors of data to exceed an error correction capability associated with an encoding technique used to encode the data.
To reduce or avoid data loss, storage devices may use wear leveling to distribute wear among regions of a memory. For example, a storage device may relocate data from one region to another region. Relocating the data may “distribute” wear among regions of the storage device (e.g., so that the regions have a similar or the same number of PECs). However, in some cases, programming and erasing regions a similar number of times may not result in the regions wearing at the same rate. For example, as process technologies improve, device component sizes may be reduced. In some cases, smaller process technologies may increase differences in operation between storage device regions, such as by causing some storage device regions to operate “better” than other storage device regions.
To further illustrate, a first region of a storage device may have a greater PEC endurance than a second region of a storage device (e.g., the first region may be a “strong” region, and the second region may be a “weak” region). In this case, the first region may have a better physical condition than the second region even after a greater number of PECs at the first region. In some circumstances, using PECs to approximate wear at the first region and the second region may lead to data loss and to unusable memory storage elements. For example, data loss can result at a region if wear leveling is performed too late, such as when an error rate of data stored at a “weak” region exceeds an error correction capability associated with an encoding technique used to encode the data.